package dk.muldbjergskolen.ctr;

import java.sql.*;
import java.util.ArrayList;

import dk.muldbjergskolen.db.PersonDB.UGyldigtPostNr;
import dk.muldbjergskolen.db.*;
import dk.muldbjergskolen.model.Elev;
import dk.muldbjergskolen.model.Klasse;

public class ElevCtr {
	private ElevDB eDB = new ElevDB();

	/**
	 * Retter en eksisterende elev.
	 * 
	 * @param id
	 *            på den eksisterende elev.
	 * @param nyElev
	 *            objektet som indeholder dataene på den nye elev.
	 * @throws UGyldigtPostNr
	 *             ved forkert post nr.
	 */
	public void retElev(int id, Elev nyElev) throws UGyldigtPostNr {
		try {
			ConnectionDB.startTransaction();

			eDB.retElev(id, nyElev);

			ConnectionDB.commitTransaction();
		} catch (UGyldigtPostNr e) {
			ConnectionDB.rollbackTransaction();

			throw e;
		}
	}

	// Henter en ArrayListe med alle aargange fra en klasse.
	public ArrayList<Elev> findElever() {
		return eDB.findElever();
	}

	// opretter en elev
	public void opretElev(String fornavn, String efternavn, String addresse,
			int postNr, String tlf, String email, String cpr, Klasse klasse)
			throws UGyldigtPostNr {
		Elev e = new Elev(fornavn, efternavn, addresse, postNr, tlf, email,
				cpr, klasse);

		eDB.opretElev(e);
	}

	public Elev getElev(int id) {
		return eDB.getElev(id);
	}
}
